/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package m;

import beans.Medico;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Usuario
 */
public class MedicoModel2 extends Model{
    
    public List<Medico> obtenerTodo(){
        String sql = "select * from medico";
        Object[][] result = sqlDatos(sql);
        return fromArray(result);
    }

    
    public List<Medico> obtenerPorId(String Id){
        String sql = "select * from medico where medico.id_medico like '"+Id + "%';";
        Object[][] result = sqlDatos(sql);
        return fromArray(result);
    }

    public List<Medico> obtenerPorNombre(String Nombre) {
        String sql = "select * from medico where medico.nombres like '" + Nombre + "%';";
        Object[][] result = sqlDatos(sql);
        return fromArray(result);
    }
    
    public List<Medico> obtenerPorApellidos(String Apellido) {
        String sql = "select * from medico where medico.apellidos like '" + Apellido + "%';";
        Object[][] result = sqlDatos(sql);
        return fromArray(result);
    }
            
    public boolean agregar(Medico medico){
        String sql = String.format("INSERT INTO medico(" +
            "cedula, nombres, apellidos, telefono1, telefono2, id_ciudad, " +
            "id_especialidad, email, id_estado) " +
    "VALUES ('%s', '%s', '%s', '%s', '%s', '%s', " +
            "'%s', '%s', '%s');",
                medico.getCedula(),
                medico.getNombres(),
                medico.getApellidos(),
                medico.getTelefono1(),
                medico.getTelefono2(),
                medico.getCiudad(),
                medico.getEspecialidad(),
                medico.getEmail(),
                medico.getEstado()); 
        return sqlEjec(sql);
    }
    
    public boolean actualizar(Medico viejo, Medico nuevo){
        return false;
    }
    
    public boolean borrarMedico(Medico medico){
        return false;
    }
    
    private List<Medico> fromArray(Object[][] array){
        List<Medico> lista = new ArrayList<Medico>();
        for (int i = 0; i < array.length; i++) {
            Medico medico = new Medico();
            medico.setCedula((String) array[i][0]);
            medico.setNombres((String) array[i][1]);
            medico.setApellidos((String) array[i][2]);
            medico.setTelefono1((String) array[i][3]);
            medico.setTelefono2((String) array[i][4]);
            medico.setCiudad(Integer.parseInt(array[i][5].toString()));
            medico.setEspecialidad(Integer.parseInt(array[i][6].toString()));
            medico.setEmail((String) array[i][7]);
            medico.setEstado(Integer.parseInt(array[i][8].toString()));
            medico.setIdMedico(Integer.parseInt(array[i][9].toString()));
            lista.add(medico);
        }
        return lista;
    }
    
    public static void main(String args[]){

        for(Medico medico: new MedicoModel2().obtenerPorNombre("C")){
            System.out.printf("%s, %s, %s, %s, %s, %s, %s, %s, %s \n",
                medico.getIdMedico(),
                medico.getNombres(),
                medico.getApellidos(),
                medico.getTelefono1(),
                medico.getTelefono2(),
                medico.getCiudad(),
                medico.getEspecialidad(),
                medico.getEmail(),
                medico.getEstado());
        }
    }
}
